package com.myrice.remote.deploy;

import java.util.Properties;

import com.myrice.core.Context;

public interface DeployContext extends Context {
	byte STATUS_DESTORY = 0, STATUS_LOAD = 1, STATUS_DEPLOY = 2;

	public void onLoad(DeployHandler contextHandler);

	public void doLoad(DeployHandler contextHandler);

	public void onDeploy(DeployHandler contextHandler);

	public void doDeploy(DeployHandler contextHandler);

	public void onMonitoring(DeployHandler contextHandler, String host);

	public void onUndeploy(DeployHandler contextHandler);

	public void doUndeploy(DeployHandler contextHandler);

	public void onDestroy(DeployHandler contextHandler, String host);

	public void doDestroy(DeployHandler contextHandler, String host);

	String getName();

	public String getContextKey();

	Properties getProperties();

	String getPath();

	public boolean isDeployed();

	public byte getStatus();

	public ClassLoader getClassLoader();

}
